首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏晨光的Code

    iOS Widget Extension开发拾遗

    新建Extension 点击菜单中的File->New->Target,然后选择Widget Extension,创建一个新的Target,填写Widget 名字为QGWidget图片2. 图片在主Target和Widget Target中添加App Groups能力,路径为Signing & Capabilities->+ Capability,并填写相同的Group ID,这里如果没有登陆对应的开发者账号则 数据传递在主App里写入数据到UserDefaults中,在widget中读取数据/// 在主App中写入数据到UserDefaults中 NSString *suiteName = initWithSuiteName:suiteName];[userDefaults setObject:data forKey:dataKey];[userDefaults synchronize];/// 通知Widget | arch(x86_64) WidgetCenter.shared.reloadTimelines(ofKind: "QGFocusWidget") #endif} /// widget

    1.6K40编辑于 2022-12-01
  • 来自专栏正则

    share extension

    创建一个 share extension 默认继承 SLComposeViewController  则弹跳框也是固定死的  如果要diy 请继承uiviewcontroller  可以在storyboard info App Transport Security Settings 使可访问http   最好在target里的info改  直接在plist改会报错 修改displayname 必须改的 增加extension 共享 在capabilities 开启app group 选择group 在host app里同样开启app group 选择同一个group 在host app里的 info里 加入share extension 的identifier  and  url schemes extension修改build settings里deployment-iOS deployment target =iOS 8.0+ 修改共享target需要调用到的model 等的target membership 勾上 使其可以访问 网上找一下demo preprocessor.js  非必需 代码如下 导入到share extension

    1.2K30发布于 2021-05-11
  • 来自专栏Czy‘s Blog

    Widget模式

    Widget模式 Widget模式是指借用Web Widget思想将页面分解成组件,针对部件开发,最终组合成完整的页面,Web Widget指的是一块可以在任意页面中执行的代码块,Widget模式不属于一般定义的 DOCTYPE html> <html> <head> <title>Widget模式</title> </head> <body>

    </body script> </html> 每日一题 https://github.com/WindrunnerMax/EveryDay 参考 https://en.wikipedia.org/wiki/Web_widget

    1.3K10发布于 2021-01-14
  • 来自专栏云前端

    Chrome Extension

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension) 什么叫Chrome插件 Chrome插件是一个用Web技术开发、用来增强浏览器功能的软件,它其实就是一个由HTML、 然后: chrome-extension://<插件ID>/插件入口html文件 such as: chrome-extension://abpkdgpklogmegpnglebckniebimhfll 然后找到extension目录 打包 当您为扩展程序打包时,扩展程序将获得唯一的密钥对,扩展程序的标识符基于公钥的散列,私有密钥用来为每一个版本的扩展程序签名,必须严格保护,不能由公众访问。 命令行中打包 chrome.exe --pack-extension=C:\myext --pack-extension-key=C:\myext.pem 命令chrome.exe(在 Linux 或 Mac OS X 上为 chrome) --pack-extension 指定扩展程序所在文件夹的位置 --pack-extension-key 指定扩展程序私有密钥文件的位置 压缩包 windows:

    3.9K30发布于 2020-06-15
  • 来自专栏iOS逆向与安全

    iOS App Extension :【App Extension类型、生命周期、通信、App Extension案例】

    原文: https://kunnan.blog.csdn.net/article/details/86625994 扩展 (Extension) 是 iOS 8 和 OSX 10.10 加入的一个非常大的功能点 ,开发者可以通过系统提供给我们的扩展接入点 (Extension point) 来为系统特定的服务提供某些附加的功能。 在这里插入图片描述 I、 App Extension 1.1 App Extension类型 对于 iOS 来说,可以使用的扩展接入点有以下几个: NotificationServiceExtension Today 扩展 - 在下拉的通知中心的 "今天" 的面板中添加一个 widget ? 在这里插入图片描述 分享扩展 :使用户在不同的应用程序之间分享内容。

    2.4K10发布于 2021-03-24
  • 来自专栏szhshp 的第四边境中转站

    VSC Extension Development-Create A Code Formatter Extension

    Official Guide Example 1 Here we will talk about: activate , deactivate event and the lifecycle of a extension /extension.js", "contributes": { "commands": [ { "command": "extension.nurselisa.format let disposable = vscode.commands.registerTextEditorCommand('extension.nurselisa.format', (editor, edit command 'extension.useMyExtension.commandA' not found Check if ALL your events are registered here ", "onCommand:extension.useMyExtension.commandB" ] …… }

    57130编辑于 2022-09-21
  • 来自专栏sofu456

    chrome extension develop

    基本文件 manifest.json { "manifest_version": 2, "name": "One-click Kittens", "description": "This extension -- This page is shown when the extension button is clicked, because the "browser_action" field in manifest.json chrome.storage.sync.set(items); } // This extension loads the saved background color for the current Also, using chrome.storage.sync instead of // chrome.storage.local allows the extension data to be 调试模式,加载文件目录,在chrome extension按钮出现后,右键inspect popup,添加调试断点,F5进入断点 chrome资料 https://crxdoc-zh.appspot.com

    1.1K10发布于 2019-08-29
  • 来自专栏Rust Tech

    Building a widget for Druid

    What is a widget?In Druid, "Widget" is a trait. So to make a new kind of widget, you just make a new type and then implement Widget on it.Let’s use a color picker widget as an example:struct ColorPicker;impl Widget for ColorPicker { fn paint(...) To use our ColorPicker widget, we include the widget as part of a widget hierarchy. We pass the Slider widget and the hue lens to LensWrap, which acts as a higher order widget.

    1.1K10编辑于 2022-10-26
  • 来自专栏向治洪

    Widget简介

    Widget简介 可以使用AppWidgetManager更新Widget中的数据,但这样最短也要半个小时才能更新一次,一般不用他更新,而是自己定义一个服务去更新Widget中的数据。 改变大小,在2.3时候创建出来的Widget多大就是多大,不能改变,可以把这个去掉 </appwidget-provider> 更新Widget数据的服务 public class UpdateWidgetService 的声明周期 `Widget`就是一个特殊的广播接收者 1. 当界面上第一个`widget`被创建的时候 01-14 02:17:14.348: INFO/System.out(1853): onEnabled 当`widget`第一次被创建的时候调用 `widget`就是一个特殊的广播接受者 当有新的事件产生的是 肯定会调用 `onReceive()`; 注意: 在不同的手机上 widget的生命周期调用方法 可能有细微的不同.

    1.3K70发布于 2018-01-26
  • 来自专栏flutter开发精选

    widget简介

    2.1 widget简介 在 Flutter 中一切的显示都是 WidgetWidget 是一切的基础,利用响应式模式进行渲染。 在这个例子中,Widget 树有两个 widgets, Center widget 及其子 widget ——Text 。 Widget 的主要工作是实现 build方法,该方法根据其它较低级别的 widget 来描述这个 widgetWidget 嵌套了 Text Widget。 实际上,context是当前widgetwidget树中位置中执行”相关操作“的一个句柄,比如它提供了从当前widget开始向上遍历widget树以及按照widget类型查找父级widget的方法。

    1.8K20编辑于 2022-09-20
  • 来自专栏TomatoCool

    Fyne-Widget

    软件包widget定义了许多小部件 import "fyne.io/fyne/v2/widget" Accordion 下拉框 定义 type Accordion struct { BaseWidget ") a1 := widget.NewAccordion() for i := 0; i < 3; i++ { a3 := widget.NewAccordion() widget.NewLabel("hello") b := widget.NewButton("world", func() { l.Text = "world" widget.NewLabel("Hello") c := widget.NewCheck("World", func(b bool) { if b { widget.NewLabel("") ss := []string{"A", "B", "C"} c := widget.NewCheckGroup(ss, func(s []string

    64940编辑于 2023-09-01
  • 来自专栏iOS 技术分享

    OC - Category 和 Extension

    Extension 扩展 2.1 Extension 是什么? 2.2 Extension 一般用来做什么? 2.3 Extension 的特点以及 Extension 与 Category 的区别 3. 相关面试题 1. Extension 扩展 2.1 Extension 是什么? ① Extension 有一种说法叫“匿名分类”,因为它很像分类,但没有分类名。严格来说要叫类扩展。 2.2 Extension 一般用来做什么? ① 声明私有属性 ② 声明私有方法 ③ 声明私有成员变量 2.3 Extension 的特点以及 Extension 与 Category 的区别 ① 编译时决议(在编译的时候就将扩展的所有数据都合并到类中去了

    1.6K10发布于 2020-04-16
  • 来自专栏ADAS性能优化

    Arm Memory Tagging Extension

    When the hardware and operating system support the ARM Memory Tagging Extension, tag primary allocation

    2.2K10编辑于 2022-05-13
  • 来自专栏iOS

    iOS Extension介绍以及一些Extension开发经验浅谈

    标签: Extension开发 --- 苹果在iOS 8之后引入了一些新的特性,Extension就是其中之一,一开始提供的Extensions包含Today、Action、Share、Photo Editing host app 通信 [Extensions和Host app通信] Extensions和host app可以直接通信,host app可以直接传递内容给extensions,这里的传递的媒介就是Extension [Extension Context] 可以传递的内容包含多种,这个是在Extensions的Info.plist文件里指定的。 和Containing App通信 [Extension和Containing App间接通信] Extensions和Containing App之间的通信与数据共享就比较复杂了,简单来说有openURL 以及共享数据的方式,openURL的方式对于大部分Extensions除了Today Extensions等少数几个来说是不可行的,否则你的Action/Share Extension直接呼起Containing

    1.7K40发布于 2018-07-19
  • 来自专栏用户4077185的专栏

    Flutter | 基础Widget

    基础 Widget 在 Fluter 中,几乎所有的都是一个 widget ,与原生开发不同的是,widget 的范围更加广阔,他不仅可以表示 UI 元素,也可以表示一些功能的组件,如手势检测的 widget 所以,在大多数时候,可以认为 widget 就是一个控件,不必纠结于概念 Widget 的功能是 “描述一个 UI 元素的配置数据”,widget 并不是表示最终绘制在屏幕上的显示元素,正在代绘制屏幕上的是 Widget 树就是指 UI 控件树或 UI 渲染树 一个 Widget 对象可以对应多个 Element。 widget 都会对应一个 context 对象(因为每个 widget都是 widget 树上的一个节点)。 实际上,context 是当前 widgetwidget 树中位置中执行 “相关操作”的一个句柄,比如它提供了从当前 widget 开始向上遍历widget树,以及查找父类 widget 方法 class

    1.6K20编辑于 2022-02-11
  • 来自专栏子曰五溪

    Chrome Extension 通信机制

    最近这一段时间有些小忙,在做一款很有意思的Chrome Extension,在“创造”的过程中,对于Chrome Extension的机制有了很深入的了解,知道了很多它很有趣的事情,不过这篇文章主要是讲解一下关于其 最简单的理解就是:“popup和options是有界面的,background属于无界面的,content_script属于可注入在网页中的脚本”,基本上这些内容涵盖了Chrome Extension

    1.8K60发布于 2019-06-24
  • 来自专栏FunTester

    Chrome Extension 消息传递

    在之前的 Chrome Extension 开发的初探文章当中,我对 消息传递 的认识还比较浅,最近又双叒叕学到了一点点这方便的新知识,也在一次又一次的功能实践当中也体会到了消息传递在实用当中重要性。 // 向指定 ID 的扩展发送消息 chrome.runtime.sendMessage('TARGET_EXTENSION_ID', { action: 'someAction', data: 'Hello from extension A' }); 接收消息 目标扩展需要在其后台脚本或其他组件中监听消息,并作出相应的处理。 // 扩展 A 中建立连接 const port = chrome.runtime.connect('TARGET_EXTENSION_ID', { name: 'extensionA-to-B' }) { "manifest_version": 3, "name": "Extension B", "version": "1.0", "permissions": [ "identity

    90810编辑于 2025-01-23
  • 来自专栏子曰五溪

    《Chrome Extension 入门指南》

    作为 Google Chrome 生态的一部分,Extension 是可以修改或增强 Chrome 浏览器功能的小程序,开发者可以利用各种Web技术,提供各种有趣的功能。 平时我们会用到各式各样的 Extension ,如:纸壁(每天将 Chrome 启动界面换一张风景优美的图片),tabs管理器(将tab合并后管理),数字货币钱包(ETH钱包),这些 Extension Gitbook:https://welearnmore.gitbook.io/chrome-extension-book/ Github:https://github.com/welearnmore/chrome-extension-book 特性机制 快速的开发一个 Chrome Extension 熟悉 Chrome Extension 上线流程 适宜人群 具备 HTML,CSS,JavaScript 一定基础知识的开发人员 希望掌握 Chrome Extension 开发知识的前端开发者 温馨提示 建议使用 Node.js 8.x 以上版本 所有的 Demo 都能在Github上找到 每一章节写完之后会同步在知乎专栏上

    1K10发布于 2019-06-24
  • 来自专栏czwy的博客

    标记扩展(Markup Extension)

    其中一项扩展就是标记扩展(Markup Extension),比如我们经常使用的绑定Binding和x:Type。 <Button Content="{local:Add 2,Value1=5}"/> 根据约定,标记扩展的命名都是以Extension结尾,在引用扩展类时可以省略最后一个单词Extension,示例中紧跟在 参考 https://learn.microsoft.com/zh-cn/dotnet/desktop/xaml-services/escape-sequence-markup-extension ↩︎

    1K30编辑于 2023-11-17
  • 来自专栏大猪的笔记

    go: 获取grpc extension

    字段定义成了extension。 message TelemetryStream { //.... EnterpriseSensors中又有一个JuniperNetworksSensors,它也是一个extension。 proto.GetExtension方式 data := proto.GetExtension(pb.Enterprise, telemetrytop.E_JuniperNetworks) // 因为是双重的extension ok { err = fmt.Errorf("get network extension failed, data type is :%v", reflect.TypeOf(data)) ok { err = fmt.Errorf("get port extension failed, data type is :%v", reflect.TypeOf(data)) return

    55530编辑于 2022-11-29
领券